package com.ezzd.utils;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.ezzd.pojo.TbGoods;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * excel文件读取的监听器，如果上传了文件，我们可以将service类中的业务逻辑在这个监听器中写。
 */
@Component
public class GoodsReadListener extends AnalysisEventListener<TbGoods>{

    private List<TbGoods> goods = new ArrayList<>();

    /**
     * 每读取一行的回调
     * @param tbGoods
     * @param analysisContext
     */
    @Override
    public void invoke(TbGoods tbGoods, AnalysisContext analysisContext) {
        System.out.println("TbGoods:" + tbGoods);
        goods.add(tbGoods);
    }

    /**
     * 全部读取完的回调
     * @param analysisContext
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        System.out.println("读取数据完成，总共有" + goods.size() + "条数据！");
        goods = new ArrayList<>();
        for (TbGoods tbGoods : goods) {
            System.out.println(goods);
        }
    }
}
